EthSide -- An Ethereum Drivechain 指南
作者:Paul Sztorc 译者:Jack3.14 来源:https://www.drivechain.info/blog/ethside-guide/
在本指南
我们展示了如何使用Eth的软件堆栈,但使用 BTC 来交 gas 费用(即不购买以太币)。这需要Bip300,但我们仍然可以通过DriveNet(激活Bip300的比特币核心版本)进行演示。具体来说,我们做5个步骤:打开Linux,打开三个终端窗口,创建一个项目文件夹。使用第一个终端窗口:下载主链 Mainchain 全节点软件,以regtest模式运行,强制它每5秒找到1个块(为了我们的方便),并在其上激活以太坊侧链。使用第二个终端窗口下载、构建、运行和连接“ethSide”(我们的以太坊侧链克隆)。通过 BMM 盲合并挖掘,它还将每5秒找到一个区块。使用第三个终端窗口来玩以太坊-创建帐户,使用Eth函数,特别是:将10BTC从主链Mainchain 存入 Eth侧链。最后,我们将去remix.ethereum.org,将我们的侧链无缝插入ETH的基础设施。在那里我们可以运行合约。
第1步:设置
需要LINUX。Mac/Windows用户可以使用 VirtualBox 或 VMWare 等软件免费运行 Linux-请参阅这些 指南。这既简单又安全-它可以阻止DriveNet接触您计算机的其余部分。下图:您正在查看Ubuntu桌面。
打开终端-(右键单击->“在终端中打开”)。
第2步:下载和使用主链
现在我们想做一堆步骤:创建一个项目文件夹,执行更新和安装依赖项,下载DriveNet-42,为其区块链创建一个特殊目录(在项目文件夹内,它不会打扰您的任何其他文件),打开DriveNet(在正则表达式模式下,这样我们就可以不受工作量证明的阻碍地进行测试),提出并激活以太坊侧链(在侧链插槽#1中),最后命令正则表达式区块链每5秒找到一个块。在终端中,运行以下操作(复制/粘贴,使用[ctrl+c],[ctrl+shift+v]:
mkdir ethside_video
cd ethside_video
sudo apt update
sudo apt install wget tar watch
wget http://172.105.148.135/drivechain/archive/42/drivechain-0.42.00-x86_64-linux-gnu.tar.gz
tar -xvf drivechain-0.42.00-x86_64-linux-gnu.tar.gz
mkdir datadirs
rm -rf datadirs/main
mkdir datadirs/main
echo "server=1" > ./datadirs/main/drivechain.conf
echo "regtest=1" >> ./datadirs/main/drivechain.conf
echo "rpcuser=user" >> ./datadirs/main/drivechain.conf
echo "rpcpassword=password" >> ./datadirs/main/drivechain.conf
./drivechain-0.42.00/bin/drivechain-qt -datadir=./datadirs/main &
sleep 6
./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main createsidechainproposal 1 ethereum
./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main generate 200
watch -n 5 ./drivechain-0.42.00/bin/drivechain-cli -datadir=./datadirs/main generate 1
由于“sudo”,您可能需要您的Ubuntu密码(以授予安装更新的权限):
下面,我们完成了:DriveNet以regtest模式运行,每5秒找到一个新块:
第3步:下载并使用ethSide
现在打开第二个终端选项卡。
现在我们想下载、构建、运行和连接ethSide(我们的以太坊侧链克隆)。在新的终端选项卡中运行:
sudo apt update
sudo apt install git curl build-essential golang
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/nchashch/ethereum-sidechain
cd ethereum-sidechain
make
cd ..
rm -rf datadirs/eth
mkdir datadirs/eth
./ethereum-sidechain/build/bin/geth --datadir ./datadirs/eth init ./ethereum-sidechain/genesis.json
./ethereum-sidechain/build/bin/geth --http --http.api eth,web3,personal,net \
--http.corsdomain "https://remix.ethereum.org" \
--datadir=./datadirs/eth --maxpeers 0 --dev
(它可能会再次询问您的Ubuntu密码)。(它也可能会抱怨已经安装了Rust,如果由于某种原因已经安装了Rust,那么就不需要再次安装了。) (“构建”步骤可能需要一点时间——3分钟左右。) 您现在应该正在挖掘 ethSide 区块:
第4步:玩转以太坊
打开第三个终端选项卡。在其中,点燃以太坊:
./ethereum-sidechain/build/bin/geth attach http://127.0.0.1:8545
Eth终端现已开启!您现在可以使用以太坊。尝试制作一个新的“钱包”:
personal.newAccount()
试着检查你的钱包余额——零Coins ……现在
eth.getBalance(eth.accounts[0])
或者使用“help”(或Tab键),看看你可以尝试什么:
最后,确保您运行以下命令:
eth.deposit(eth.accounts[0], web3.toSatoshi(10), web3.toSatoshi(0.0001))
eth.getBalance(eth.accounts[0])
该命令将从主链中获取10个BTC(因为您一直在挖矿),并将它们发送到ETH侧链。(硬币的可分割性在ETH世界是不同的,所以你得到的不是10,000,0000“sats”,而是10000000000000000000又名1000京单位10,000,0000,00,000,0000的“sid-gwei”(有点像sats-squared)。以太坊不是很有趣吗!?)
(当硬币被送回主链时,它们将返回到原始的“sat”级别的可分割性。)
现在,休息一下!这是你应得的!当我们回来时,我们将利用“remix.ethereum.org”(ETH社区建立的开发网站)。
步骤#5:玩转 Remix IDE
现在入侵更广阔的ETH世界 https://remix.ethereum.org/。像绵羊中的狼一样,点击侧边栏的ETH标志,然后将 “Remix VM (London)” 更改为“External Http Provider”。
它将自动连接到您的ethSide节点。它甚至会显示10个“Ether”(您从主链存入的)。
现在我们可以在这个网站上运行合约了。例如,“存储” 合约…
一旦我们选择1_Storage. sol,我们就可以编译它(在第三个侧边栏选项卡上)。
一旦我们编译它,我们就可以在第四个选项卡上部署它。
一旦我们部署它,我们就可以利用它!具体来说,在这种情况下,我们可以使用“1_Storage. sol”来存储一个数字,然后检索它!以太坊的“魔力”!
我们所做的走查与本网站提倡的非常相似。您可以浏览该网站,看看其他指南的应用情况如何!
在结论 我们运行了一个ETH合约…在BTC之上。我们没有购买任何以太币!我们留下了第一层——我们的 Layer1 比特币主链全节点,对以太坊的规则一无所知。
本指南没有涵盖提款(即:当硬币从侧链转移到主链时)。敬请期待下一篇 Bip300提款指南。
历史文章
观点 论比特币网络安全预算 Mainchain:迎接 Bitcoin iPhone 时刻 BIP300&301 将为BTC生态带来什么? Nostr 创始人:Drivechain才是比特币的未来 比特币匿名开发者@super_testnet大力推荐 Drivechain 打破壁垒:比特币二层网络Mainchain如何在万亿赛道中脱颖而出 Sidechains NOW!!! @ Bitcoin2023 对 Drivechain 有不同看法?让我来回答(比特币开发者独家解答Drivechain)
About LayerTwo Labs
LayerTwo Labs 是由 Paul Sztorc(前耶鲁大学统计学家)创立的 sidechain 开发公司,我们将给大家提供更多的技术知识科普。
大家请关注以下我们社交媒体的链接
Website: https://layertwolabs.com/ GitHub: https://github.com/LayerTwo-Labs Twitter: https://twitter.com/layertwoasia Telegram: https://t.me/layertwolabsasia Medium: https://medium.com/@layertwolabsasia Discord: https://discord.gg/Pvd2aQTv2T BiliBili: https://space.bilibili.com/166496555